Zepto(function($){
    var url = document.location.toString();
    var environment = url.indexOf("test") > 0 ? "/test" : (url.indexOf("admin") > 0 ? "/admin" : "")
    var arrUrl = url.split("//");
    var start = arrUrl[1].indexOf("/");
    var basePath = arrUrl[0] + "//" + arrUrl[1].substring(0,start) + environment;

    var queNum = $("#queNum").attr("data-que-count");
//创建MeScroll对象
			var mescroll = new MeScroll("body", {
				down: {
                	auto: false, //是否在初始化完毕之后自动执行下拉回调callback; 默认true
                    use : false,
                    callback: downCallback //下拉刷新的回调
                },
				up: {
					auto: true, //是否在初始化时以上拉加载的方式自动加载第一页数据; 默认false
					isBounce: false, //此处禁止ios回弹,解析(务必认真阅读,特别是最后一点): http://www.mescroll.com/qa.html#q10
					callback: upCallback, //上拉回调,此处可简写; 相当于 callback: function (page) { upCallback(page); }
					toTop:{ //配置回到顶部按钮
						src : basePath + "/course/images/mescroll-totop.png", //默认滚动到1000px显示,可配置offset修改
						//offset : 1000
					}
				}
			});

			/*下拉刷新的回调 */
			function downCallback(){
				if(queNum > 0){
					//联网加载数据
					getListDataFromNet(0, 10, function(data){
						//联网成功的回调,隐藏下拉刷新的状态
						mescroll.endSuccess();
						//设置列表数据
						setListData(data, false);
					}, function(){
						//联网失败的回调,隐藏下拉刷新的状态
						mescroll.endErr();
					});
                }
			}
			
			/*上拉加载的回调 page = {num:1, size:10}; num:当前页 从1开始, size:每页数据条数 */
			function upCallback(page){
				var num = $("#qulist li").length;
				if(queNum > num) {
                    //联网加载数据
                    getListDataFromNet(page.num, page.size, function (curPageData) {
                        //联网成功的回调,隐藏下拉刷新和上拉加载的状态;
                        //mescroll会根据传的参数,自动判断列表如果无任何数据,则提示空;列表无下一页数据,则提示无更多数据;

                        //方法一(推荐): 后台接口有返回列表的总页数 totalPage
                        //mescroll.endByPage(curPageData.length, totalPage); //必传参数(当前页的数据个数, 总页数)

                        //方法二(推荐): 后台接口有返回列表的总数据量 totalSize
                        //mescroll.endBySize(curPageData.length, totalSize); //必传参数(当前页的数据个数, 总数据量)
                        mescroll.endSuccess(curPageData.length);

                        //设置列表数据
                        setListData(curPageData, true);
                    }, function () {
                        //联网失败的回调,隐藏下拉刷新和上拉加载的状态;
                        mescroll.endErr();
                    });
                }
			}
			
			/*设置列表数据*/
			function setListData(curPageData, isAppend) {
				var listDom=document.getElementById("qulist");
				for (var i = 0; i < curPageData.length; i++) {
					var newObj=curPageData[i];
					console.log(newObj);
					
					
		 			var str='<div class="fm-info">'
		 			+'	<div class="fmi-img"><img src="'+ newObj.imgPath +'"/></div>'
		 			+'		<div class="fmi-desc">'
		 			+'			<div class="fmi-n fs-p13">'+newObj.nickName+'</div>'
		 			+'			<p class="fmi-t fs-p13">'+formatDate(new Date(newObj.createTime))+'</p>'
		 			+'		</div>'
		 			+'	</div>'
		 			+'	<div class="fq-info">'
		 			+'		<div class="fl">'+newObj.descr+'</div>'
		 			+'		<div class="fr text-right">'
		 			+'<a href="'+basePath +'/page/course/question?id='+ newObj.id +'" class="fqi-g"><span >看答案</span></a></div>'
		 			+'	</div>';
					var liDom=document.createElement("li");
					liDom.innerHTML=str;
					
					if (isAppend) {
						listDom.appendChild(liDom);//加在列表的后面,上拉加载
					} else{
						listDom.insertBefore(liDom, listDom.firstChild);//加在列表的前面,下拉刷新
					}
				}
			}
			
			/*联网加载列表数据
			 在您的实际项目中,请参考官方写法: http://www.mescroll.com/api.html#tagUpCallback
			 请忽略getListDataFromNet的逻辑,这里仅仅是在本地模拟分页数据,本地演示用
			 实际项目以您服务器接口返回的数据为准,无需本地处理分页.
			 * */
			// var downIndex=0;
			function getListDataFromNet(pageNum,pageSize,successCallback,errorCallback) {
				var ret = false;
				var memberId = getQueryString("id");
				var requestData = {
					"memberId":memberId,
					"pageNum":pageNum,
					"pageSize":pageSize
				};
				console.log("request data:" + JSON.stringify(requestData));
				$.ajax({
					type: 'post',
					cache:false,
					async:false,
					url: basePath + "/api/question/teacherPublic",
					data: JSON.stringify({"requestData":JSON.stringify(requestData)}),
					dataType: "json",
					contentType : "application/json",
					success: function(data){
						console.log("response data:" + JSON.stringify(data));
						if(data.code == 200){
							ret = JSON.parse(data.responseData);
							//联网成功的回调
							successCallback&&successCallback(ret);
						}
					},
					error: function(request) {
                        //联网失败的回调
						errorCallback&&errorCallback();
					}
				});

                // //延时一秒,模拟联网
                // setTimeout(function () {
                // 	try{
                // 		var newArr=[];
	             //    	if(pageNum==0){
	             //    		//此处模拟下拉刷新返回的数据
	             //    		downIndex++;
	             //    		var newObj={title:"【新增新闻"+downIndex+"】 新增新闻的标题", content:"新增新闻的内容"};
	             //    		newArr.push(newObj);
	             //    	}else{
	             //    		//此处模拟上拉加载返回的数据
	             //    		for (var i = 0; i < pageSize; i++) {
	             //    			var upIndex=(pageNum-1)*pageSize+i+1;
	             //    			var newObj={title:"【新闻"+upIndex+"】 标题标题标题标题标题标题", content:"内容内容内容内容内容内容内容内容内容内容"};
	             //    			newArr.push(newObj);
	             //    		}
	             //    	}
	             //    	//联网成功的回调
	             //    	successCallback&&successCallback(newArr);
                // 	}catch(e){
                // 		//联网失败的回调
                // 		errorCallback&&errorCallback();
                // 	}
                // },1000)
			}
    function getQueryString(name) {
        var result = window.location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
        if (result == null || result.length < 1) {
            return "";
        }
        return result[1];
    }
    function formatDate(time){
        var date = new Date(time);

        var year = date.getFullYear(),
            month = date.getMonth() + 1,//月份是从0开始的
            day = date.getDate(),
            hour = date.getHours(),
            min = date.getMinutes(),
            sec = date.getSeconds();
        var newTime = year + '-' +
            month + '-' +
            day + ' ' +
            hour + ':' +
            min + ':' +
            sec;
        return newTime;
    }
});